﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using acessaDB;
using Frame;
using System.Data;
using System.Configuration;
using FirebirdSql.Data.FirebirdClient;
using Estrutura;


namespace Banco
{

    public class BD_Modelo
    {
        #region variaveis_globais

        acessaDB.conectaDBFireBird fireBird = new conectaDBFireBird();
        string conectionString = System.Configuration.ConfigurationManager.AppSettings["FireBirdConnectionLocal"];
        string usuario = string.Empty;

        #endregion

        #region construtor

        public BD_Modelo()
        {
            if (System.Configuration.ConfigurationManager.AppSettings["ambiente"] == "PROD")
                conectionString = System.Configuration.ConfigurationManager.AppSettings["FireBirdConnectionProd"];
        }
        public BD_Modelo(string usu_Login)
        {
            if (System.Configuration.ConfigurationManager.AppSettings["ambiente"] == "PROD")
                conectionString = System.Configuration.ConfigurationManager.AppSettings["FireBirdConnectionProd"];
            usuario = usu_Login;
        }

        #endregion

        #region metodos

        public DataSet _retorna_Modelo(
                                                string MODELO_ID,
                                                string MOD_TIPO,
                                                string FABRICANTE_ID,
                                                string MOD_CODIGO,
                                                string MOD_DESCRICAO,
                                                string PART_NUMBER_ID,
                                                string MOD_FOTO,
                                                string USU_INSERT,
                                                string DATA_INSERT,
                                                string USU_UPDATE,
                                                string DATA_UPDATE,
                                                string MOD_ACFT_TIPO,
                                                string MOD_MOTOR_TIPO,
                                                string MOD_PREFIXO_SN,
                                                string MOD_QTDE_MOTORES
                                                )
        {

            if (string.IsNullOrEmpty(MODELO_ID)) MODELO_ID = "'0'";
            if (string.IsNullOrEmpty(MOD_TIPO)) MOD_TIPO = "''";
            if (string.IsNullOrEmpty(FABRICANTE_ID)) FABRICANTE_ID = "'0'";
            if (string.IsNullOrEmpty(MOD_CODIGO)) MOD_CODIGO = "''";
            if (string.IsNullOrEmpty(MOD_DESCRICAO)) MOD_DESCRICAO = "''";
            if (string.IsNullOrEmpty(PART_NUMBER_ID)) PART_NUMBER_ID = "'0'";
            if (string.IsNullOrEmpty(MOD_FOTO)) MOD_FOTO = "''";
            if (string.IsNullOrEmpty(USU_INSERT)) USU_INSERT = "'0'";
            if (string.IsNullOrEmpty(DATA_INSERT)) DATA_INSERT = "''";
            if (string.IsNullOrEmpty(USU_UPDATE)) USU_UPDATE = "'0'";
            if (string.IsNullOrEmpty(DATA_UPDATE)) DATA_UPDATE = "''";
            if (string.IsNullOrEmpty(MOD_ACFT_TIPO)) MOD_ACFT_TIPO = "''";
            if (string.IsNullOrEmpty(MOD_MOTOR_TIPO)) MOD_MOTOR_TIPO = "''";
            if (string.IsNullOrEmpty(MOD_PREFIXO_SN)) MOD_PREFIXO_SN = "''";
            if (string.IsNullOrEmpty(MOD_QTDE_MOTORES)) MOD_QTDE_MOTORES = "'0'";

            string sql = "SELECT " +
                                  "MODELO.MODELO_ID, " +
                                  "MODELO.MOD_TIPO, " +
                                  "MODELO.FABRICANTE_ID, " +
                                  "MODELO.MOD_CODIGO, " +
                                  "MODELO.MOD_DESCRICAO, " +
                                  //"MODELO.PART_NUMBER_ID, " +
                                  "MODELO.MOD_FOTO, " +
                                  "MODELO.USU_INSERT, " +
                                  "MODELO.DATA_INSERT, " +
                                  "MODELO.USU_UPDATE, " +
                                  "MODELO.DATA_UPDATE, " +
                                  "MODELO.MOD_ACFT_TIPO, " +
                                  "MODELO.MOD_MOTOR_TIPO, " +
                                  "MODELO.MOD_PREFIXO_SN, " +
                                  "MODELO.MOD_QTDE_MOTORES " +
                            "FROM MODELO " +
                            "LEFT JOIN ENTIDADE ON ENTIDADE.ENTIDADE_ID = MODELO.ENTIDADE_ID " +
                            /*"LEFT JOIN PN_CADASTRO ON PN_CADASTRO.PN_CADASTRO_ID = MODELO.PN_CADASTRO_ID " +
                            "LEFT JOIN USUARIO ON USUARIO.USUARIO_ID = MODELO.USUARIO_ID " +
                            "LEFT JOIN USUARIO ON USUARIO.USUARIO_ID = MODELO.USUARIO_ID " +*/
                            "WHERE " +
                            "      (MODELO.MODELO_ID                       = " + MODELO_ID + "  OR " + MODELO_ID + " = '0') AND " +
                            "      (MODELO.MOD_TIPO                        = " + MOD_TIPO + "  OR " + MOD_TIPO + " = '') AND " +
                            "      (MODELO.FABRICANTE_ID                   = " + FABRICANTE_ID + "  OR " + FABRICANTE_ID + " = '0') AND " +
                            "      (MODELO.MOD_CODIGO                      = " + MOD_CODIGO + "  OR " + MOD_CODIGO + " = '') AND " +
                            "      (MODELO.MOD_DESCRICAO                   = " + MOD_DESCRICAO + "  OR " + MOD_DESCRICAO + " = '') AND " +
                            //"      (MODELO.PART_NUMBER_ID                  = " + PART_NUMBER_ID + "  OR " + PART_NUMBER_ID + " = '0') AND " +
                            "      (MODELO.MOD_FOTO                        = " + MOD_FOTO + "  OR " + MOD_FOTO + " = '') AND " +
                            "      (MODELO.USU_INSERT                      = " + USU_INSERT + "  OR " + USU_INSERT + " = '0') AND " +
                            "      (MODELO.DATA_INSERT                     = " + DATA_INSERT + "  OR " + DATA_INSERT + " = '') AND " +
                            "      (MODELO.USU_UPDATE                      = " + USU_UPDATE + "  OR " + USU_UPDATE + " = '0') AND " +
                            "      (MODELO.DATA_UPDATE                     = " + DATA_UPDATE + "  OR " + DATA_UPDATE + " = '') AND " +
                            "      (MODELO.MOD_ACFT_TIPO                   = " + MOD_ACFT_TIPO + "  OR " + MOD_ACFT_TIPO + " = '') AND " +
                            "      (MODELO.MOD_MOTOR_TIPO                  = " + MOD_MOTOR_TIPO + "  OR " + MOD_MOTOR_TIPO + " = '') AND " +
                            "      (MODELO.MOD_PREFIXO_SN                  = " + MOD_PREFIXO_SN + "  OR " + MOD_PREFIXO_SN + " = '') AND " +
                            "      (MODELO.MOD_QTDE_MOTORES                = " + MOD_QTDE_MOTORES + "  OR " + MOD_QTDE_MOTORES + " = '0') ";

            DataSet dsRetorno = fireBird.retornaDataSet(sql, conectionString);
            return dsRetorno;

        }


        public List<ES_Modelo> _obter_Modelo(
                                                string MODELO_ID,
                                                string MOD_TIPO,
                                                string FABRICANTE_ID,
                                                string MOD_CODIGO,
                                                string MOD_DESCRICAO,
                                                string PART_NUMBER_ID,
                                                string MOD_FOTO,
                                                string USU_INSERT,
                                                string DATA_INSERT,
                                                string USU_UPDATE,
                                                string DATA_UPDATE,
                                                string MOD_ACFT_TIPO,
                                                string MOD_MOTOR_TIPO,
                                                string MOD_PREFIXO_SN,
                                                string MOD_QTDE_MOTORES,
                                                string ORDER_BY_CLAUSE
                                                )
        {

            if (string.IsNullOrEmpty(MODELO_ID)) MODELO_ID = "'0'";
            if (string.IsNullOrEmpty(MOD_TIPO)) MOD_TIPO = "''"; else MOD_TIPO = Util.retonarAspas(MOD_TIPO);
            if (string.IsNullOrEmpty(FABRICANTE_ID)) FABRICANTE_ID = "'0'";
            if (string.IsNullOrEmpty(MOD_CODIGO)) MOD_CODIGO = "''"; else MOD_CODIGO = Util.retonarAspas(MOD_CODIGO + "%");
            if (string.IsNullOrEmpty(MOD_DESCRICAO)) MOD_DESCRICAO = "''"; else MOD_DESCRICAO = Util.retonarAspas(MOD_DESCRICAO + "%");
            if (string.IsNullOrEmpty(PART_NUMBER_ID)) PART_NUMBER_ID = "'0'";
            if (string.IsNullOrEmpty(MOD_FOTO)) MOD_FOTO = "''"; else MOD_FOTO = Util.retonarAspas(MOD_FOTO + "%");
            if (string.IsNullOrEmpty(USU_INSERT)) USU_INSERT = "'0'";
            if (string.IsNullOrEmpty(DATA_INSERT)) DATA_INSERT = "''"; else DATA_INSERT = Util.retonarAspas(DATA_INSERT + "%");
            if (string.IsNullOrEmpty(USU_UPDATE)) USU_UPDATE = "'0'";
            if (string.IsNullOrEmpty(DATA_UPDATE)) DATA_UPDATE = "''"; else DATA_UPDATE = Util.retonarAspas(DATA_UPDATE + "%");
            if (string.IsNullOrEmpty(MOD_ACFT_TIPO)) MOD_ACFT_TIPO = "''"; else MOD_ACFT_TIPO = Util.retonarAspas(MOD_ACFT_TIPO);
            if (string.IsNullOrEmpty(MOD_MOTOR_TIPO)) MOD_MOTOR_TIPO = "''"; else MOD_MOTOR_TIPO = Util.retonarAspas(MOD_MOTOR_TIPO);
            if (string.IsNullOrEmpty(MOD_PREFIXO_SN)) MOD_PREFIXO_SN = "''"; else MOD_PREFIXO_SN = Util.retonarAspas(MOD_PREFIXO_SN + "%");
            if (string.IsNullOrEmpty(MOD_QTDE_MOTORES)) MOD_QTDE_MOTORES = "'0'";
            if (string.IsNullOrEmpty(ORDER_BY_CLAUSE)) ORDER_BY_CLAUSE = "MODELO.MODELO_ID DESC";


            string sql = "SELECT " +
                                  "MODELO.MODELO_ID, " +
                                  "MODELO.MOD_TIPO, " +
                                  "MODELO.FABRICANTE_ID, " +
                                  "ENTIDADE.ENT_RAZAO_SOCIAL, "+
                                  "MODELO.MOD_CODIGO, " +
                                  "COALESCE(MODELO.MOD_DESCRICAO, MODELO.MOD_CODIGO) AS MOD_DESCRICAO,  " +
                                  //"MODELO.PART_NUMBER_ID, " +
                                  "MODELO.MOD_FOTO, " +
                                  "MODELO.USU_INSERT, " +
                                  "MODELO.DATA_INSERT, " +
                                  "MODELO.USU_UPDATE, " +
                                  "MODELO.DATA_UPDATE, " +
                                  "MODELO.MOD_ACFT_TIPO, " +
                                  "MODELO.MOD_MOTOR_TIPO, " +
                                  "MODELO.MOD_PREFIXO_SN, " +
                                  "MODELO.MOD_QTDE_MOTORES " +
                            "FROM MODELO " +
                            "LEFT JOIN ENTIDADE ON ENTIDADE.ENTIDADE_ID = MODELO.FABRICANTE_ID " +
                            /*
                            "LEFT JOIN PN_CADASTRO ON PN_CADASTRO.PN_CADASTRO_ID = MODELO.PN_CADASTRO_ID " +
                            "LEFT JOIN USUARIO ON USUARIO.USUARIO_ID = MODELO.USUARIO_ID " +
                            "LEFT JOIN USUARIO ON USUARIO.USUARIO_ID = MODELO.USUARIO_ID " +*/
                            "WHERE " +
                            "      (MODELO.MODELO_ID                       = " + MODELO_ID + "  OR " + MODELO_ID + " = '0') AND " +
                            "      (MODELO.MOD_TIPO                        = " + MOD_TIPO + "  OR " + MOD_TIPO + " = '') AND " +
                            "      (MODELO.FABRICANTE_ID                   = " + FABRICANTE_ID + "  OR " + FABRICANTE_ID + " = '0') AND " +
                            "      (MODELO.MOD_CODIGO                      LIKE " + MOD_CODIGO + "  OR " + MOD_CODIGO + " = '') AND " +
                            "      (MODELO.MOD_DESCRICAO                   LIKE " + MOD_DESCRICAO + "  OR " + MOD_DESCRICAO + " = '') AND " +
                            //"      (MODELO.PART_NUMBER_ID                  = " + PART_NUMBER_ID + "  OR " + PART_NUMBER_ID + " = '0') AND " +
                            "      (MODELO.MOD_FOTO                        = " + MOD_FOTO + "  OR " + MOD_FOTO + " = '') AND " +                            
                            "      (MODELO.MOD_ACFT_TIPO                   = " + MOD_ACFT_TIPO + "  OR " + MOD_ACFT_TIPO + " = '') AND " +
                            "      (MODELO.MOD_MOTOR_TIPO                  = " + MOD_MOTOR_TIPO + "  OR " + MOD_MOTOR_TIPO + " = '') AND " +
                            "      (MODELO.MOD_PREFIXO_SN                  = " + MOD_PREFIXO_SN + "  OR " + MOD_PREFIXO_SN + " = '') AND " +
                            "      (MODELO.MOD_QTDE_MOTORES                = " + MOD_QTDE_MOTORES + "  OR " + MOD_QTDE_MOTORES + " = '0') "+
                            " ORDER BY "+ORDER_BY_CLAUSE;

            List<ES_Modelo> lista = new List<ES_Modelo>();
            FbConnection fbConexao = new FbConnection(conectionString);
            FbDataReader dr = fireBird.retornaDataReader(sql, conectionString, fbConexao);
            try
            {
                while (dr.Read())
                {
                    ES_Modelo item = new ES_Modelo();
                    item.MODELO_ID = dr["MODELO_ID"].ToString();
                    item.MOD_TIPO = dr["MOD_TIPO"].ToString();
                    item.FABRICANTE_ID = dr["FABRICANTE_ID"].ToString();
                    item.MOD_CODIGO = dr["MOD_CODIGO"].ToString();
                    item.MOD_DESCRICAO = dr["MOD_DESCRICAO"].ToString();
                    //item.PART_NUMBER_ID = dr["PART_NUMBER_ID"].ToString();
                    item.MOD_FOTO = dr["MOD_FOTO"].ToString();
                    item.USU_INSERT = dr["USU_INSERT"].ToString();
                    item.DATA_INSERT = dr["DATA_INSERT"].ToString();
                    item.USU_UPDATE = dr["USU_UPDATE"].ToString();
                    item.DATA_UPDATE = dr["DATA_UPDATE"].ToString();                    
                    item.MOD_ACFT_TIPO = dr["MOD_ACFT_TIPO"].ToString();
                    item.MOD_MOTOR_TIPO = dr["MOD_MOTOR_TIPO"].ToString(); 
                    item.MOD_PREFIXO_SN = dr["MOD_PREFIXO_SN"].ToString();
                    item.MOD_QTDE_MOTORES = dr["MOD_QTDE_MOTORES"].ToString();
                    lista.Add(item);

                }
                return lista;
            }
            finally
            {
                fireBird.fecharConexao(fbConexao);
            }
        }

        public List<ES_Modelo> _obter_Modelo_relVoo(string MOD_TIPO)
        {

            if (string.IsNullOrEmpty(MOD_TIPO)) MOD_TIPO = "''"; else MOD_TIPO = Util.retonarAspas(MOD_TIPO);

            string sql = "SELECT DISTINCT " +
                                  "MODELO.MODELO_ID, " +
                                  "MODELO.MOD_TIPO, " +
                                  "MODELO.FABRICANTE_ID, " +
                                  "MODELO.MOD_CODIGO, " +
                                  "COALESCE(MODELO.MOD_DESCRICAO, MODELO.MOD_CODIGO) AS MOD_DESCRICAO " +                                  
                            "FROM MODELO " +
                "INNER JOIN CTM_RELVOO ON CTM_RELVOO.MODELO_ID = MODELO.MODELO_ID " +
                "WHERE (MODELO.MOD_TIPO                       = " + MOD_TIPO + "  OR " + MOD_TIPO + " = '0') " +
                " ORDER BY MODELO.MOD_DESCRICAO ";

            List<ES_Modelo> lista = new List<ES_Modelo>();
            FbConnection fbConexao = new FbConnection(conectionString);
            FbDataReader dr = fireBird.retornaDataReader(sql, conectionString, fbConexao);
            try
            {
                while (dr.Read())
                {
                    ES_Modelo item = new ES_Modelo();
                    item.MODELO_ID = dr["MODELO_ID"].ToString();
                    item.MOD_TIPO = dr["MOD_TIPO"].ToString();
                    item.FABRICANTE_ID = dr["FABRICANTE_ID"].ToString();
                    item.MOD_CODIGO = dr["MOD_CODIGO"].ToString();
                    item.MOD_DESCRICAO = dr["MOD_DESCRICAO"].ToString();                    
                    lista.Add(item);

                }
                return lista;
            }
            finally
            {
                fireBird.fecharConexao(fbConexao);
            }
        }

        public ES_Modelo _obter_Modelo_by_id(string MODELO_ID, string MOD_CODIGO = "")
        {

            if (string.IsNullOrEmpty(MODELO_ID)) MODELO_ID = "0";
            if (!string.IsNullOrEmpty(MOD_CODIGO)) MOD_CODIGO = Util.retonarAspas(MOD_CODIGO);

            string sql = "SELECT " +
                                  "MODELO.MODELO_ID, " +
                                  "MODELO.MOD_TIPO, " +
                                  "MODELO.FABRICANTE_ID, " +
                                  "ENTIDADE.ENT_RAZAO_SOCIAL, " +
                                  "MODELO.MOD_CODIGO, " +
                                  "MODELO.MOD_DESCRICAO, " +
                //"MODELO.PART_NUMBER_ID, " +
                                  "MODELO.MOD_FOTO, " +
                                  "MODELO.USU_INSERT, " +
                                  "MODELO.DATA_INSERT, " +
                                  "MODELO.USU_UPDATE, " +
                                  "MODELO.DATA_UPDATE, " +
                                  "MODELO.MOD_ACFT_TIPO, " +
                                  "MODELO.MOD_MOTOR_TIPO, " +
                                  "MODELO.MOD_PREFIXO_SN, " +
                                  "MODELO.MOD_QTDE_MOTORES, " +
                                  "CASE MODELO.MOD_TIPO WHEN 'A' THEN 'AERONAVE' " +
                                  "      WHEN 'C' THEN 'COMPONENTE' " +
                                  "      WHEN 'F' THEN 'FERRAMENTA' " +
                                  "      WHEN 'M' THEN 'MOTOR' " +
                                  "      WHEN 'O' THEN 'OUTROS' " +
                                  "      WHEN 'H' THEN 'HELICE' END  MOD_TIPO_DESCRICAO, " +
                                  " CASE MODELO.MOD_ACFT_TIPO WHEN 'A' THEN 'AVIÃO' WHEN 'H' THEN 'HELICÓPTERO' END MOD_ACF_TIPO_DESC " +
                            "FROM MODELO " +
                            "LEFT JOIN ENTIDADE ON ENTIDADE.ENTIDADE_ID = MODELO.FABRICANTE_ID " +
                            "WHERE ";
            if (!string.IsNullOrEmpty(MOD_CODIGO))
                sql += "      (MODELO.MOD_CODIGO = " + MOD_CODIGO + ") ";
            else
                sql += "      (MODELO.MODELO_ID = " + MODELO_ID + ") ";
            

            ES_Modelo item = new ES_Modelo();
            FbConnection fbConexao = new FbConnection(conectionString);
            FbDataReader dr = fireBird.retornaDataReader(sql, conectionString, fbConexao);
            try
            {
                
                while (dr.Read())
                {
                    item.MODELO_ID = dr["MODELO_ID"].ToString();
                    item.MOD_TIPO = dr["MOD_TIPO"].ToString();
                    item.MOD_TIPO_DESCRICAO = dr["MOD_TIPO_DESCRICAO"].ToString();                    
                    item.FABRICANTE_ID = dr["FABRICANTE_ID"].ToString();
                    item.ENT_RAZAO_SOCIAL = dr["ENT_RAZAO_SOCIAL"].ToString();
                    item.MOD_CODIGO = dr["MOD_CODIGO"].ToString();
                    item.MOD_DESCRICAO = dr["MOD_DESCRICAO"].ToString();
                    //item.PART_NUMBER_ID = dr["PART_NUMBER_ID"].ToString();
                    item.MOD_FOTO = dr["MOD_FOTO"].ToString();
                    item.USU_INSERT = dr["USU_INSERT"].ToString();
                    item.DATA_INSERT = dr["DATA_INSERT"].ToString();
                    item.USU_UPDATE = dr["USU_UPDATE"].ToString();
                    item.DATA_UPDATE = dr["DATA_UPDATE"].ToString();
                    item.MOD_ACFT_TIPO = dr["MOD_ACFT_TIPO"].ToString();
                    item.MOD_ACF_TIPO_DESC = dr["MOD_ACF_TIPO_DESC"].ToString();
                    item.MOD_MOTOR_TIPO = dr["MOD_MOTOR_TIPO"].ToString(); 
                    item.MOD_PREFIXO_SN = dr["MOD_PREFIXO_SN"].ToString();
                    item.MOD_QTDE_MOTORES = dr["MOD_QTDE_MOTORES"].ToString();

                }
                return item;
            }
            finally
            {
                fireBird.fecharConexao(fbConexao);
            }
        }


        public void _inserir_Modelo(
                                                string MODELO_ID,
                                                string MOD_TIPO,
                                                string FABRICANTE_ID,
                                                string MOD_CODIGO,
                                                string MOD_DESCRICAO,
                                                string PART_NUMBER_ID,
                                                string MOD_FOTO,
                                                string USU_INSERT,
                                                string DATA_INSERT,
                                                string USU_UPDATE,
                                                string DATA_UPDATE,
                                                string MOD_ACFT_TIPO,
                                                string MOD_MOTOR_TIPO,
                                                string MOD_PREFIXO_SN,
                                                string MOD_QTDE_MOTORES
                                                )
        {

            string sql = " INSERT INTO MODELO " +
                         "      ( " +
                         "          MOD_TIPO                       , " +
                         "          FABRICANTE_ID                  , " +
                         "          MOD_CODIGO                     , " +
                         "          MOD_DESCRICAO                  , " +
                         //"          PART_NUMBER_ID                 , " +
                         "          MOD_FOTO                       , " +
                         "          USU_INSERT                     , " +
                         "          DATA_INSERT                    , " +
                         "          USU_UPDATE                     , " +
                         "          DATA_UPDATE                    , " +
                         "          MOD_ACFT_TIPO                  , " +
                         "          MOD_MOTOR_TIPO                 , " +
                         "          MOD_PREFIXO_SN                 , " +
                         "          MOD_QTDE_MOTORES                 " +
                 "      )" +
                 "  VALUES " +
                 "      ( " +
                              Util.retonarAspas(MOD_TIPO, true) + ", " +
                              Util.retonarAspas(FABRICANTE_ID, true) + ", " +
                              Util.retonarAspas(MOD_CODIGO, true) + ", " +
                              Util.retonarAspas(MOD_DESCRICAO, true) + ", " +
                              //Util.retonarAspas(PART_NUMBER_ID, true) + ", " +
                              Util.retonarAspas(MOD_FOTO, true) + ", " +
                              Util.retonarAspas(USU_INSERT, true) + ", " +
                              Util.retonarAspas(DATA_INSERT, true) + ", " +
                              Util.retonarAspas(USU_UPDATE, true) + ", " +
                              Util.retonarAspas(DATA_UPDATE, true) + ", " +
                              Util.retonarAspas(MOD_ACFT_TIPO, true) + ", " +
                              Util.retonarAspas(MOD_MOTOR_TIPO, true) + ", " +
                              Util.retonarAspas(MOD_PREFIXO_SN, true) + ", " +
                              Util.retonarAspas(MOD_QTDE_MOTORES, true) +
                 "      )";
            try
            {
                fireBird._ExecutarComandoRetornandoID(sql, conectionString, false, usuario);
            }
            catch
            { }
        }



        public void _atualizar_Modelo(
                                                string MODELO_ID,
                                                string MOD_TIPO,
                                                string FABRICANTE_ID,
                                                string MOD_CODIGO,
                                                string MOD_DESCRICAO,
                                                string PART_NUMBER_ID,
                                                string MOD_FOTO,
                                                string USU_INSERT,
                                                string DATA_INSERT,
                                                string USU_UPDATE,
                                                string DATA_UPDATE,
                                                string MOD_ACFT_TIPO,
                                                string MOD_MOTOR_TIPO,
                                                string MOD_PREFIXO_SN,
                                                string MOD_QTDE_MOTORES
                                                )
        {

            string sql = " UPDATE MODELO SET " +
                         "      MOD_TIPO                        = " + Util.retonarAspas(MOD_TIPO, true) + ", " +
                         "      FABRICANTE_ID                   = " + Util.retonarAspas(FABRICANTE_ID, true) + ", " +
                         "      MOD_CODIGO                      = " + Util.retonarAspas(MOD_CODIGO, true) + ", " +
                         "      MOD_DESCRICAO                   = " + Util.retonarAspas(MOD_DESCRICAO, true) + ", " +
                         //"      PART_NUMBER_ID                  = " + Util.retonarAspas(PART_NUMBER_ID, true) + ", " +
                         "      MOD_FOTO                        = " + Util.retonarAspas(MOD_FOTO, true) + ", " +
                         "      USU_INSERT                      = " + Util.retonarAspas(USU_INSERT, true) + ", " +
                         "      DATA_INSERT                     = " + Util.retonarAspas(DATA_INSERT, true) + ", " +
                         "      USU_UPDATE                      = " + Util.retonarAspas(USU_UPDATE, true) + ", " +
                         "      DATA_UPDATE                     = " + Util.retonarAspas(DATA_UPDATE, true) + ", " +
                         "      MOD_ACFT_TIPO                   = " + Util.retonarAspas(MOD_ACFT_TIPO, true) + ", " +
                         "      MOD_MOTOR_TIPO                  = " + Util.retonarAspas(MOD_MOTOR_TIPO, true) + ", " +
                         "      MOD_PREFIXO_SN                  = " + Util.retonarAspas(MOD_PREFIXO_SN, true) + ", " +
                         "      MOD_QTDE_MOTORES                = " + Util.retonarAspas(MOD_QTDE_MOTORES, true) +
                         " WHERE MODELO_ID =  " + MODELO_ID;
            try
            {
                fireBird._ExecutarComandoRetornandoID(sql, conectionString, false, usuario);
            }
            catch
            { }
        }



        public void _excluir_Modelo(string MODELO_ID)
        {
            string sql = "DELETE FROM MODELO WHERE MODELO_ID = " + MODELO_ID;
            try
            {
                fireBird._ExecutarComandoRetornandoID(sql, conectionString, false, usuario);
            }
            catch
            { }
        }


        //evento para alimetar radComboBox de modelos de ACF
        public List<ES_Modelo_tipoAcf> _obter_ModeloAcf()
        {
            List<ES_Modelo_tipoAcf> lista = new List<ES_Modelo_tipoAcf>();
            string modeloACF = "AVIÃO;HELICÓPTERO";
            string[] arrayModeloACF = modeloACF.Split(new char[] { ';' });

            foreach (string myString in arrayModeloACF)
            {
                ES_Modelo_tipoAcf item = new ES_Modelo_tipoAcf();
                item.TIPOACFID = myString.Substring(0, 1);
                item.TIPOACF = myString;
                lista.Add(item);
            }
            return lista;
        }


        //evento para alimetar radComboBox de modelos de motor
        public List<ES_Modelo_tipoMotor> _obter_ModeloMotor()
        {
            List<ES_Modelo_tipoMotor> lista = new List<ES_Modelo_tipoMotor>();
            string modeloMotor = "CONVENCIONAL;JATO;TURBOELICE";
            string[] arrayModeloMotor = modeloMotor.Split(new char[] { ';' });

            foreach (string myString in arrayModeloMotor)
            {
                ES_Modelo_tipoMotor item = new ES_Modelo_tipoMotor();
                item.TIPOMOTORID = myString.Substring(0, 1);
                item.TIPOMOTOR = myString;
                lista.Add(item);
            }
            return lista;
        }

        //evento para alimetar radComboBox de tipos de modelos
        public List<ES_Modelo_tipo> _obter_ModeloTipo()
        {
            List<ES_Modelo_tipo> lista = new List<ES_Modelo_tipo>();
            string modeloMotor = "AERONAVE;COMPONENTE;FERRAMENTA;MOTOR;OUTROS;HELICE";
            
            string[] arrayModeloMotor = modeloMotor.Split(new char[] { ';' });

            foreach (string myString in arrayModeloMotor)
            {
                ES_Modelo_tipo item = new ES_Modelo_tipo();
                item.TIPOMODELOID = myString.Substring(0, 1);
                item.TIPOMODELO = myString;
                lista.Add(item);
            }
            return lista;
        }


        #endregion
    }
}
